package movilmax.sia_corp.action;

import java.util.LinkedList;
import java.util.Map;

import utilidades.Cadena;

import movilmax.sia_corp.model.Clientes;
import movilmax.sia_corp.model.Prospecto;
import movilmax.sia_corp.model.Usuario;

import apli.conectar.Conectar;
import basedatos.Fecha;
import basedatos.Resultado;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class CargarReporteAsignaciones extends ActionSupport{

	private static final long serialVersionUID = 4L;
	 private LinkedList<Prospecto> rpt_asig_prospecto;
	 private LinkedList<Clientes> rpt_asig_cliente;
	 private Prospecto prospecto;
	 private Clientes cliente;
	 private String opc;
	 
	 
	private String mes;
	private String anno;
	private String fechai;
	private String fechaf;
	
	 private String ver_accion;
	 private String ver_vendedor;
	 private String ver_fuente;
	 private String total_registros;
	 private String total_1;
	 private String total_2;
	 private String total_3;
	 private String total_4;
	 private String total_5;
	 
	 @SuppressWarnings("rawtypes")
	public String consultar() throws Exception {
		 	rpt_asig_prospecto = new LinkedList<Prospecto>();
		    Map session = ActionContext.getContext().getSession();
		    Usuario USUARIO = (Usuario)session.get("ses_usuario");
		    this.setTotal_registros("0");
		    this.setTotal_1("0");
		    this.setVer_vendedor("SI");
		    this.setVer_fuente("SI");
		    if (USUARIO!=null){
			    Conectar BASE= new Conectar();
			    if(BASE.getMsg().equals("SI" )){
			    	String SQL="",crit="",c_sel="",crit_tt="", crit_tt2="";
			    	String anno_act= new Cadena().convertirStr( new Fecha().getAnno() );
				    String intervalo_i="",intervalo_f="",crit_f1="",crit_stx="";
				    boolean por_fecha=false; 
				    crit_stx=" and a.status='EN PROCESO' and p.status='EN PROCESO' ";
			    	//c_ord=" p.fecha_registro DESC,p.hora_registro DESC";
			    	if (anno==null && mes==null ){
			    		this.setAnno(new Cadena().convertirStr( new Fecha().getAnno() ) );
			    		this.setMes(new Cadena().convertirStr( new Fecha().getMes() )  );
			    		por_fecha=false;
			    	}
			    	
			    	if (anno!=null){
				    	 if (!anno.equals("TODOS") && !anno.equals("-1") ){
				    	    anno_act= this.getAnno(); 
				    	    intervalo_i="01/01/"+anno_act;
				        	intervalo_f="31/12/"+anno_act;
				        	crit_f1=" and a.fecha_actualizo >='"+intervalo_i+"' and a.fecha_actualizo <='"+intervalo_f+"' ";
				    	 }   
				    }
			    	if( fechai !=null && fechaf !=null ){
			    		if (!this.getFechai().equals("") && !this.getFechaf().equals("") ){
			    			intervalo_i=this.getFechai();
	    		        	intervalo_f=this.getFechaf();
			    			crit_f1=" and a.fecha_actualizo >='"+intervalo_i+"' and a.fecha_actualizo <='"+intervalo_f+"' ";
			    			por_fecha=true;
			    		}
			    	}
			    	if(por_fecha==false){
				    	if (mes !=null){
				    		if (!mes.equals("TODOS") && !mes.equals("-1") ){
				    		    int op_mes=new Cadena().convertirInt(this.getMes() );
				    		    switch(op_mes){
				    		        case 1:
				    		        	intervalo_i="01/01/"+anno_act;
				    		        	intervalo_f="31/01/"+anno_act;
				    		        	
				    		        break;
				    		        case 2:
				    		        	intervalo_i="01/02/"+anno_act;
				    		        	intervalo_f="28/02/"+anno_act;
				    		        	
					    		    break;
				    		        case 3:
				    		        	intervalo_i="01/03/"+anno_act;
				    		        	intervalo_f="31/03/"+anno_act;
				    		        	
					    		    break;
					    		    case 4:
					    		    	intervalo_i="01/04/"+anno_act;
				    		        	intervalo_f="30/04/"+anno_act;	
				    		        	
						    		break;
					    		    case 5:
					    		    	intervalo_i="01/05/"+anno_act;
				    		        	intervalo_f="31/05/"+anno_act;
				    		        	
					    		    break;
					    		    case 6:
					    		    	intervalo_i="01/06/"+anno_act;
				    		        	intervalo_f="30/06/"+anno_act;	
				    		        	
						    		break;
					    		    case 7:
					    		    	intervalo_i="01/07/"+anno_act;
				    		        	intervalo_f="31/07/"+anno_act;	
				    		        	
						    		break;
						    		case 8:
						    			intervalo_i="01/08/"+anno_act;
				    		        	intervalo_f="31/08/"+anno_act;	
				    		        	
							        break;
						    		case 9:
						    			intervalo_i="01/09/"+anno_act;
				    		        	intervalo_f="30/09/"+anno_act;	
				    		        	
					    		    break;
					    		    case 10:
					    		    	intervalo_i="01/10/"+anno_act;
				    		        	intervalo_f="31/10/"+anno_act;
				    		        	
						    		break;
					    		    case 11:
					    		    	intervalo_i="01/11/"+anno_act;
				    		        	intervalo_f="30/11/"+anno_act;	
				    		        	
						    		break;
						    		case 12:
						    			intervalo_i="01/12/"+anno_act;
				    		        	intervalo_f="31/12/"+anno_act;	
				    		        	
							        break;
				    		    }
				    		    crit_f1=" and a.fecha_actualizo >='"+intervalo_i+"' and a.fecha_actualizo <='"+intervalo_f+"' ";
				    		}    
			    	     }
				      } 	 
			    	
			    	
			    	if (prospecto ==null){
			    		    crit=" and p.tipo='CORPORATIVO' ";
			    	}
			    	if (opc !=null){
			    		if(!this.getOpc().trim().equals("0") ){
			    		    c_sel=" TOP "+opc.trim();
			    		}
			    	}
			    	String crit_as="";
			    	if (prospecto !=null){
				    	if( prospecto.getVendedor()!=null ){
				    		if (!prospecto.getVendedor().equals("-1") ){
				    		     crit=" and V.cod = '"+prospecto.getVendedor().trim() +"' ";
				    		     crit_tt=" and V.cod = '"+prospecto.getVendedor().trim() +"'  ";
				    		     this.setVer_vendedor("NO");
				    		}     
				    	}
				    	if( prospecto.getNombres()!=null ){
				    		crit=crit+" and P.nombres like '%"+prospecto.getNombres().trim() +"%' ";
				    	}
				    	if( prospecto.getTipo() !=null ){
				    		if (!prospecto.getTipo().equals("TODOS") ){
				    		    crit=crit+" and p.tipo='"+prospecto.getTipo().trim() +"' ";
				    		    crit_tt2=" and p.tipo='"+prospecto.getTipo().trim() +"' ";
				    		}  
				    	}
				    	
				    	if(prospecto.getTipo_asig().equals("ASIGNADO")){
				    		crit_as=" and a.auto='0' ";
				    	}else if(prospecto.getTipo_asig().equals("REGISTRADO")){
				    		crit_as=" and a.auto='1' ";
				    	}
				    	if( prospecto.getStatus() !=null ){
					    	if(!prospecto.getStatus().equals("TODOS")){
					    		crit_stx=" and p.status='"+prospecto.getStatus() +"' and a.status='"+prospecto.getStatus()+"' ";
					    	}else{
					    		//crit_stx=" ";
					    	}
				    	}
				    	
			    	}
			    	
			    	/*
			    	if( USUARIO.getUsuario().equals("adm") || USUARIO.getUsuario().equals("pcorp") || USUARIO.getUsuario().equals("dick") || USUARIO.getUsuario().equals("yenny.faria")  ){
			    		SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.auto,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,S.serv_i,S.vel_i,S.serv_d,S.vel_d,S.presupuesto,U.descripcion as des_reg,U.rol,p.obs_eps "+  
				    	"from prospectos p,corp_asignaciones a,vendedores V,detalle_serv_solicitado S,usuarios U  "+
						"where a.prospecto=p.codigo "+crit+crit_f1+crit_as+crit_stx+" and a.vendedor=V.cod  and A.prospecto=S.prospecto and P.usuario_registro=U.usuario Order by a.fecha DESC,a.hora DESC";
			    	}else if(USUARIO.getRol().getCod().equals("44") ) {
			    		SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.auto,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,S.serv_i,S.vel_i,S.serv_d,S.vel_d,S.presupuesto,U.descripcion as des_reg,U.rol,p.obs_eps "+  
				    	"from prospectos p,corp_asignaciones a,vendedores V,detalle_serv_solicitado S,usuarios U  "+
						"where p.prop='"+ USUARIO.getUsuario() +"' "+crit+crit_f1+crit_as+crit_stx+" and p.codigo=a.prospecto and a.vendedor=V.cod and A.prospecto=S.prospecto and P.usuario_registro=U.usuario Order by a.fecha DESC,a.hora DESC";
			    		crit_tt=" and p.prop='"+ USUARIO.getUsuario() +"'  ";
			       }else {
			    		SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.auto,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,S.serv_i,S.vel_i,S.serv_d,S.vel_d,S.presupuesto,U.descripcion as des_reg,U.rol,p.obs_eps "+  
				    	"from prospectos p,corp_asignaciones a,vendedores V,detalle_serv_solicitado S,usuarios U "+
						"where a.vendedor='"+ USUARIO.getCod_vendedor() +"' "+crit+crit_f1+crit_as+crit_stx+" and a.prospecto=p.codigo and a.vendedor=V.cod and A.prospecto=S.prospecto and P.usuario_registro=U.usuario Order by a.fecha DESC,a.hora DESC";
			    		crit_tt=" and V.cod = '"+USUARIO.getCod_vendedor() +"'  ";
			    		this.setVer_vendedor("NO");
			        }
			        */
			    	if(USUARIO.getPerfil().getCod().trim().equals("2") ){
			    		SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.auto,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,S.serv_i,S.vel_i,S.serv_d,S.vel_d,S.presupuesto,U.descripcion as des_reg,U.rol,p.obs_eps "+  
				    		"from prospectos p,corp_asignaciones a,vendedores V,detalle_serv_solicitado S,usuarios U "+
				    		"where a.vendedor='"+ USUARIO.getCod_vendedor() +"' "+crit+crit_f1+crit_as+crit_stx+" and a.prospecto=p.codigo and a.vendedor=V.cod and A.prospecto=S.prospecto and P.usuario_registro=U.usuario Order by a.fecha DESC,a.hora DESC";
			    			crit_tt=" and V.cod = '"+USUARIO.getCod_vendedor() +"'  ";
			    			this.setVer_vendedor("NO");	
			    	}else if(USUARIO.getPerfil().getCod().trim().equals("3") || USUARIO.getPerfil().getCod().trim().equals("4")  ) {
			    		/*SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.auto,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,S.serv_i,S.vel_i,S.serv_d,S.vel_d,S.presupuesto,U.descripcion as des_reg,U.rol,p.obs_eps "+  
				    		"from prospectos p,corp_asignaciones a,vendedores V,detalle_serv_solicitado S,usuarios U  "+
				    		"where p.prop='"+ USUARIO.getUsuario() +"' "+crit+crit_f1+crit_as+crit_stx+" and p.codigo=a.prospecto and a.vendedor=V.cod and A.prospecto=S.prospecto and P.usuario_registro=U.usuario Order by a.fecha DESC,a.hora DESC";
			    			crit_tt=" and p.prop='"+ USUARIO.getUsuario() +"'  ";
			    			*/
			    		SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.auto,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,S.serv_i,S.vel_i,S.serv_d,S.vel_d,S.presupuesto,U.descripcion as des_reg,U.rol,p.obs_eps "+  
			    		"from prospectos p,corp_asignaciones a,vendedores V,detalle_serv_solicitado S,usuarios U "+
			    		"where a.vendedor='"+ USUARIO.getCod_vendedor() +"' "+crit+crit_f1+crit_as+crit_stx+" and a.prospecto=p.codigo and a.vendedor=V.cod and A.prospecto=S.prospecto and P.usuario_registro=U.usuario Order by a.fecha DESC,a.hora DESC";
		    			crit_tt=" and V.cod = '"+USUARIO.getCod_vendedor() +"'  ";
		    			this.setVer_vendedor("NO");		
			        }else{/* ojo */
			        	SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.auto,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,S.serv_i,S.vel_i,S.serv_d,S.vel_d,S.presupuesto,U.descripcion as des_reg,U.rol,p.obs_eps "+  
				    		"from prospectos p,corp_asignaciones a,vendedores V,detalle_serv_solicitado S,usuarios U  "+
				    		"where a.prospecto=p.codigo "+crit+crit_f1+crit_as+crit_stx+" and a.vendedor=V.cod  and A.prospecto=S.prospecto and P.usuario_registro=U.usuario Order by a.fecha DESC,a.hora DESC";
			        }
					Resultado RCS=BASE.getBaseDatos().consultar(SQL);
					String cod="",sol="";
					float tt_pre=0,pres=0;
					Cadena C=new Cadena();

					if(RCS.RP){
						int i=1;
					     do{
							  prospecto= new Prospecto();
							  cod=RCS.getCadena("codigo");
							  prospecto.setCodigo(cod);
							  prospecto.setIdentificacion(RCS.getCadena("identificacion"));
							  prospecto.setNombres(RCS.getCadena("nombres"));
							  prospecto.setTelefono(RCS.getCadena("telefono"));
							  prospecto.setTel_oficina(RCS.getCadena("telefono_oficina"));
							  prospecto.setCelular(RCS.getCadena("celular")); 
							  prospecto.setEmail(RCS.getCadena("email"));
							  prospecto.setZona(RCS.getCadena("zona"));
							  prospecto.setCiudad(RCS.getCadena("ciudad"));
							  prospecto.setFecha(RCS.getCadena("fecha"));
							  prospecto.setHora(RCS.getCadena("hora"));
							  prospecto.setObservaciones(RCS.getCadena("observaciones"));
							  prospecto.setVendedor(RCS.getCadena("des_vendedor"));
							  prospecto.setUsu_registro(RCS.getCadena("des_reg"));
							  prospecto.setObs_esp(RCS.getCadena("obs_eps"));
							  if(RCS.getCadena("auto").equals("1") ){
								  prospecto.setTipo_asig("REGISTRADO");  
							  }else{
								  prospecto.setTipo_asig("ASIGNADO");  
							  }
							  pres=RCS.getFloat("presupuesto");
							  if (pres>0)
								  prospecto.setPresupuesto( C.reemplazar((C.getNumero(pres)),".",",") );
							  else
								  prospecto.setPresupuesto("0,0");  
							  tt_pre+=pres;
							  sol=RCS.getCadena("serv_i");
							  if( sol.equals("-1") ){
								  if(RCS.getCadena("serv_d").equals("GARANTIZADO"))
									 prospecto.setSolicita("D-CBR ("+RCS.getCadena("vel_d")+")");  
								  else
									 prospecto.setSolicita("D-VBR ("+RCS.getCadena("vel_d")+")");    
							  }else{
								  if(sol.equals("GARANTIZADO"))
									  prospecto.setSolicita("CBR ("+RCS.getCadena("vel_i")+")");  
								  else
									  prospecto.setSolicita("VBR ("+RCS.getCadena("vel_i")+")");  
							  }
							  
							  if( USUARIO.getRol().getCod().equals("44") || USUARIO.getUsuario().equals("adm") || USUARIO.getUsuario().equals("pcorp") || USUARIO.getUsuario().equals("dick") ){
								  this.setVer_accion("NO");
								  prospecto.setStatusa("SUP");   
							  }else{
								  this.setVer_accion("SI");
						    	  prospecto.setStatusa("USR"); 
						      }
							  /*SQL="select D.descripcion as detalle from corp_detalles_actividad D "+
							  "where D.cod in ( select max(S.detalle) from corp_seguimiento_actividades S,corp_detalles_actividad D where S.prospecto='"+cod+"' and S.detalle=D.cod and D.stx='1' )  ";
							  */
							  SQL="select D.descripcion as detalle,CONVERT(varchar(30),S.fecha,103) as fecha,S.hora,S.obs from corp_detalles_actividad D,corp_seguimiento_actividades S "+
								  "where S.cod in ( select max(S.cod) from corp_seguimiento_actividades S,corp_detalles_actividad D where S.prospecto='"+cod+"' and S.detalle=D.cod and D.stx='1' ) "+
								  "and S.detalle=D.cod";
							  Resultado RCS_DET=BASE.getBaseDatos().consultar(SQL);
							  if(RCS_DET.RP){
								  prospecto.setStatus(RCS_DET.getCadena("detalle"));
								  StringBuffer cad=new StringBuffer();
								  cad.append("ULTIMA ACTIVIDAD:"+RCS_DET.getCadena("detalle"));
								  cad.append("\n												");  												
								  cad.append("FECHA:"+RCS_DET.getCadena("fecha")+" "+RCS_DET.getCadena("hora"));
								  cad.append("\n												");													
								  cad.append(RCS_DET.getCadena("obs"));
								  prospecto.setLeyenda(cad.toString());
								  RCS_DET.liberar();
							  }else{
								  prospecto.setStatus("NINGUNO");
								  prospecto.setLeyenda("SIN ACTIVIDAD");
							  }
							  rpt_asig_prospecto.add(prospecto);
							  i++;
					    }while(RCS.sigItem()); 
					   this.setTotal_registros(new Cadena().convertirStr(i-1));
					   this.setTotal_1( C.reemplazar((C.getNumero( tt_pre )),".",",") );
					   SQL="select count(*) as tt "+
							"from corp_asignaciones A,prospectos P,vendedores V "+
							"where A.vendedor=V.cod and A.prospecto=P.codigo and A.auto='0' and A.status in('EN PROCESO' ) "+crit_tt+crit_tt2+crit_f1+"  ";
					   RCS=BASE.getBaseDatos().consultar(SQL);
					   if(RCS.RP){
						   this.setTotal_2(RCS.getCadena("tt"));
					   } 
					   //del vendedor
					   SQL="select count(*) as tt "+
						"from corp_asignaciones A,prospectos P,vendedores V "+
						"where A.vendedor=V.cod and A.prospecto=P.codigo "+crit_tt+crit_tt2+crit_f1+
						"and P.usuario_registro=V.usuario and A.status in('EN PROCESO' ) and A.auto='1' ";
					   RCS=BASE.getBaseDatos().consultar(SQL);
					   if(RCS.RP){
					      this.setTotal_3(RCS.getCadena("tt"));
					   } 
					   SQL="select count(*) as tt "+
						"from corp_asignaciones A,prospectos P,vendedores V "+
						"where A.vendedor=V.cod and A.prospecto=P.codigo "+crit_tt+crit_tt2+crit_f1+
						"and P.usuario_registro=V.usuario and A.status='EN PAUSA' and P.status='EN PAUSA' ";
					   RCS=BASE.getBaseDatos().consultar(SQL);
					   if(RCS.RP){
					      this.setTotal_4(RCS.getCadena("tt"));
					   }
					   SQL="select count(*) as tt "+
						"from corp_asignaciones A,prospectos P,vendedores V "+
						"where A.vendedor=V.cod and A.prospecto=P.codigo "+crit_tt+crit_tt2+crit_f1+
						"and P.usuario_registro=V.usuario and A.status='RECHAZADO' and P.status='RECHAZADO' ";
					   RCS=BASE.getBaseDatos().consultar(SQL);
					   if(RCS.RP){
					      this.setTotal_5(RCS.getCadena("tt"));
					   }
					}
					BASE.getBaseDatos().cerrarConexion(); 
				}else{
					this.addActionError("No hay conexion al servidor");		
				}
		    }else{
		    	this.addActionError("Su sesion ha caducado");		
		    }
		    return SUCCESS;
	 }
	 
	 @SuppressWarnings("rawtypes")
	public String consultar_cli() throws Exception {
		 	rpt_asig_cliente = new LinkedList<Clientes>();
		    Map session = ActionContext.getContext().getSession();
		    Usuario USUARIO = (Usuario)session.get("ses_usuario");
		    this.setTotal_registros("0");
		    this.setTotal_1("0");
		    this.setVer_vendedor("SI");
		    this.setVer_fuente("SI");
		    
		    if (USUARIO!=null){
			    Conectar BASE= new Conectar();
			    if(BASE.getMsg().equals("SI" )){
			    	String SQL="",crit="",c_sel="";
			    	String anno_act= new Cadena().convertirStr( new Fecha().getAnno() );
				    String intervalo_i="",intervalo_f="",crit_f1="",crit_stx="";
				    boolean por_fecha=false; 
				    crit_stx=" and a.status='EN PROCESO' ";
			    	if (anno==null && mes==null ){
			    		this.setAnno(new Cadena().convertirStr( new Fecha().getAnno() ) );
			    		this.setMes(new Cadena().convertirStr( new Fecha().getMes() )  );
			    		por_fecha=false;
			    	}
			    	
			    	if (anno!=null){
				    	 if (!anno.equals("TODOS") && !anno.equals("-1") ){
				    	    anno_act= this.getAnno(); 
				    	    intervalo_i="01/01/"+anno_act;
				        	intervalo_f="31/12/"+anno_act;
				        	crit_f1=" and a.fecha_actualizo >='"+intervalo_i+"' and a.fecha_actualizo <='"+intervalo_f+"' ";
				    	 }   
				    }
			    	if( fechai !=null && fechaf !=null ){
			    		if (!this.getFechai().equals("") && !this.getFechaf().equals("") ){
			    			intervalo_i=this.getFechai();
	    		        	intervalo_f=this.getFechaf();
			    			crit_f1=" and a.fecha_actualizo >='"+intervalo_i+"' and a.fecha_actualizo <='"+intervalo_f+"' ";
			    			por_fecha=true;
			    		}
			    	}
			    	if(por_fecha==false){
				    	if (mes !=null){
				    		if (!mes.equals("TODOS") && !mes.equals("-1") ){
				    		    int op_mes=new Cadena().convertirInt(this.getMes() );
				    		    
				    		    switch(op_mes){
				    		        case 1:
				    		        	intervalo_i="01/01/"+anno_act;
				    		        	intervalo_f="31/01/"+anno_act;
				    		        	
				    		        break;
				    		        case 2:
				    		        	intervalo_i="01/02/"+anno_act;
				    		        	intervalo_f="28/02/"+anno_act;
				    		        	
					    		    break;
				    		        case 3:
				    		        	intervalo_i="01/03/"+anno_act;
				    		        	intervalo_f="31/03/"+anno_act;
				    		        	
					    		    break;
					    		    case 4:
					    		    	intervalo_i="01/04/"+anno_act;
				    		        	intervalo_f="30/04/"+anno_act;	
				    		        	
						    		break;
					    		    case 5:
					    		    	intervalo_i="01/05/"+anno_act;
				    		        	intervalo_f="31/05/"+anno_act;
				    		        	
					    		    break;
					    		    case 6:
					    		    	intervalo_i="01/06/"+anno_act;
				    		        	intervalo_f="30/06/"+anno_act;	
				    		        	
						    		break;
					    		    case 7:
					    		    	intervalo_i="01/07/"+anno_act;
				    		        	intervalo_f="31/07/"+anno_act;	
				    		        	
						    		break;
						    		case 8:
						    			intervalo_i="01/08/"+anno_act;
				    		        	intervalo_f="31/08/"+anno_act;	
				    		        	
							        break;
						    		case 9:
						    			intervalo_i="01/09/"+anno_act;
				    		        	intervalo_f="30/09/"+anno_act;	
				    		        	
					    		    break;
					    		    case 10:
					    		    	intervalo_i="01/10/"+anno_act;
				    		        	intervalo_f="31/10/"+anno_act;
				    		        	
						    		break;
					    		    case 11:
					    		    	intervalo_i="01/11/"+anno_act;
				    		        	intervalo_f="30/11/"+anno_act;	
				    		        	
						    		break;
						    		case 12:
						    			intervalo_i="01/12/"+anno_act;
				    		        	intervalo_f="31/12/"+anno_act;	
				    		        	
							        break;
				    		    }
				    		    crit_f1=" and a.fecha_actualizo >='"+intervalo_i+"' and a.fecha_actualizo <='"+intervalo_f+"' ";
				    		}    
			    	     }
				      } 	 
			    	
			    	
			    	if (cliente ==null){
			    		    crit=" and c.tipo='CORPORATIVO' ";
			    	}
			    	if (opc !=null){
			    		if(!this.getOpc().trim().equals("0") ){
			    		    c_sel=" TOP "+opc.trim();
			    		}
			    	}
			    	String crit_as="";
			    	if (cliente !=null){
				    	if( cliente.getVendedor()!=null ){
				    		if (!cliente.getVendedor().equals("-1") ){
				    		     crit=" and V.cod = '"+cliente.getVendedor().trim() +"' ";
				    		     //crit_tt=" and V.cod = '"+cliente.getVendedor().trim() +"'  ";
				    		     this.setVer_vendedor("NO");
				    		}     
				    	}
				    	if( cliente.getNombres()!=null ){
				    		crit=crit+" and P.nombres like '%"+prospecto.getNombres().trim() +"%' ";
				    	}
				    	if( cliente.getTipo() !=null ){
				    		if (!cliente.getTipo().equals("TODOS") ){
				    		    crit=crit+" and c.tipo='"+cliente.getTipo().trim() +"' ";
				    		  //  crit_tt2=" and c.tipo='"+cliente.getTipo().trim() +"' ";
				    		}  
				    	}
				    	
			    	}
			    	

			    	if( USUARIO.getUsuario().equals("adm") || USUARIO.getUsuario().equals("pcorp") || USUARIO.getUsuario().equals("dick") || USUARIO.getUsuario().equals("yenny.faria")  ){
			    	    SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,U.descripcion as des_reg "+
						"from clientes p,contratos C,corp_asignaciones_cli a,vendedores V,usuarios U  "+
						"where a.cliente=p.codigo and p.codigo=C.cliente and a.vendedor=V.cod and P.usuario_registro=U.usuario "+crit+crit_f1+crit_as+crit_stx+" "+ 
						"group by a.fecha,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion,U.descripcion "+
						"Order by a.fecha DESC,a.hora DESC";
			    	}else if(USUARIO.getRol().getCod().equals("44") ) {
			    		SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,U.descripcion as des_reg "+
						"from clientes p,contratos C,corp_asignaciones_cli a,vendedores V,usuarios U  "+
						"where p.prop='"+ USUARIO.getUsuario() +"' and a.cliente=p.codigo and p.codigo=C.cliente and a.vendedor=V.cod and P.usuario_registro=U.usuario "+crit+crit_f1+crit_as+crit_stx+" "+ 
						"group by a.fecha,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion,U.descripcion "+
						"Order by a.fecha DESC,a.hora DESC";
			    		//crit_tt=" and p.prop='"+ USUARIO.getUsuario() +"'  ";
			       }else{
			    		SQL="SELECT "+c_sel+" CONVERT(varchar(30),a.fecha,103) as fecha,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion as des_vendedor,U.descripcion as des_reg "+
						"from clientes p,contratos C,corp_asignaciones_cli a,vendedores V,usuarios U  "+
						"where a.vendedor='"+ USUARIO.getCod_vendedor() +"' and a.cliente=p.codigo and p.codigo=C.cliente and a.vendedor=V.cod and P.usuario_registro=U.usuario "+crit+crit_f1+crit_as+crit_stx+" "+ 
						"group by a.fecha,a.hora,a.observaciones,p.codigo,p.identificacion,p.nombres,p.telefono,p.telefono_oficina,p.celular,p.email,p.ciudad,p.zona,v.descripcion,U.descripcion "+
						"Order by a.fecha DESC,a.hora DESC";
			    		//crit_tt=" and V.cod = '"+USUARIO.getCod_vendedor() +"'  ";
			    		this.setVer_vendedor("NO");
			        }
					Resultado RCS=BASE.getBaseDatos().consultar(SQL);
					String cod="";
					//float tt_pre=0,pres=0;
					//Cadena C=new Cadena();
					if(RCS.RP){
						int i=1;
					     do{
							  Clientes cli= new Clientes();
							  cod=RCS.getCadena("codigo");
							  cli.setCodigo(cod);
							  cli.setIdentificacion(RCS.getCadena("identificacion"));
							  cli.setNombres(RCS.getCadena("nombres"));
							  cli.setTelefono(RCS.getCadena("telefono"));
							  cli.setTel_oficina(RCS.getCadena("telefono_oficina"));
							  cli.setCelular(RCS.getCadena("celular")); 
							  cli.setEmail(RCS.getCadena("email"));
							  cli.setZona(RCS.getCadena("zona"));
							  cli.setCiudad(RCS.getCadena("ciudad"));
							  cli.setFecha(RCS.getCadena("fecha"));
							  cli.setHora(RCS.getCadena("hora"));
							  cli.setVendedor(RCS.getCadena("des_vendedor"));
							  cli.setUsu_registro(RCS.getCadena("des_reg"));
							  SQL="select D.descripcion as detalle from corp_detalles_actividad D,corp_seguimiento_actividad_cli A "+
							  "where A.detalle=D.cod and A.cod in ( select max(S.cod) from corp_seguimiento_actividad_cli S where S.cliente='"+cod+"' )";
							  Resultado RCS_DET=BASE.getBaseDatos().consultar(SQL);
							  if(RCS_DET.RP){
								  cli.setStatus(RCS_DET.getCadena("detalle"));
								  RCS_DET.liberar();
							  }else{
								  cli.setStatus("NINGUNO");
							  }
							  rpt_asig_cliente.add(cli);
							  i++;
					    }while(RCS.sigItem()); 
					   this.setTotal_registros(new Cadena().convertirStr(i-1));
					}
					BASE.getBaseDatos().cerrarConexion(); 
				}else{
					this.addActionError("No hay conexion al servidor");		
				}
		    }else{
		    	this.addActionError("Su sesion ha caducado");		
		    }
		    return SUCCESS;
	 } 
	 
	public String getVer_accion() {
		return ver_accion;
	}
	public void setVer_accion(String ver_accion) {
		this.ver_accion = ver_accion;
	}
	public String getVer_vendedor() {
		return ver_vendedor;
	}
    public void setVer_vendedor(String ver_vendedor) {
		this.ver_vendedor = ver_vendedor;
	}
	public LinkedList<Prospecto> getRpt_asig_prospecto() {
		return rpt_asig_prospecto;
	}
	public void setRpt_asig_prospecto(LinkedList<Prospecto> rpt_asig_prospecto) {
		this.rpt_asig_prospecto = rpt_asig_prospecto;
	}
	public Prospecto getProspecto() {
		return prospecto;
	}
	public void setProspecto(Prospecto prospecto) {
		this.prospecto = prospecto;
	}
	public String getOpc() {
		return opc;
	}
	public void setOpc(String opc) {
		this.opc = opc;
	}
	public String getTotal_registros() {
		return total_registros;
	}
	public void setTotal_registros(String total_registros) {
		this.total_registros = total_registros;
	}
	public String getTotal_1() {
		return total_1;
	}
	public void setTotal_1(String total_1) {
		this.total_1 = total_1;
	}
	public String getVer_fuente() {
		return ver_fuente;
	}
	public void setVer_fuente(String ver_fuente) {
		this.ver_fuente = ver_fuente;
	}
	public String getTotal_2() {
		return total_2;
	}
	public void setTotal_2(String total_2) {
		this.total_2 = total_2;
	}
	public String getTotal_3() {
		return total_3;
	}
	public void setTotal_3(String total_3) {
		this.total_3 = total_3;
	}
	public String getTotal_4() {
		return total_4;
	}
	public void setTotal_4(String total_4) {
		this.total_4 = total_4;
	}
	public String getTotal_5() {
		return total_5;
	}
	public void setTotal_5(String total_5) {
		this.total_5 = total_5;
	}
	public String getMes() {
		return mes;
	}
	public void setMes(String mes) {
		this.mes = mes;
	}
	public String getAnno() {
		return anno;
	}
	public void setAnno(String anno) {
		this.anno = anno;
	}
	public String getFechai() {
		return fechai;
	}
	public void setFechai(String fechai) {
		this.fechai = fechai;
	}
	public String getFechaf() {
		return fechaf;
	}
	public void setFechaf(String fechaf) {
		this.fechaf = fechaf;
	}
	public LinkedList<Clientes> getRpt_asig_cliente() {
		return rpt_asig_cliente;
	}
	public void setRpt_asig_cliente(LinkedList<Clientes> rpt_asig_cliente) {
		this.rpt_asig_cliente = rpt_asig_cliente;
	}
	public Clientes getCliente() {
		return cliente;
	}
	public void setCliente(Clientes cliente) {
		this.cliente = cliente;
	}
  
}
